>> dev docs
Design notes
Some design notes about VRM: decoupling the renderer from the output writer will let us to add more output formats very easily if needed. And decoupling also the handling of projections can let us to add very fancy and creative projections in future versions.
Rendering pipeline
This is my first renderer ever, so if there is some naivety I hope that you will tell me, so I can learn something more :)
Clipping and sorting operations are done in object space, since this is meant to be a Vector renderer, I presume that traditional image space processing is not appropriate.
However, some processing in image space can be added in future, I think that merging polygons and generate paths when possible can lead to a better quality output.
The following diagram shows how the rendering pipeline of VRM works:
The scene can be processes object by object if the user wants to keeps objects separate also in the final output.